package com.gitee.wsl.func

/** Represents a function that accepts three double values and returns
 * a result.
 * @param <T> The function return type.
</T> */
fun interface Function3N<T,R> {
    /** Apply the function and return the result.
     * @param n1 first function argument
     * @param n2 second function argument
     * @param n3 third function argument
     * @return the function result
     */
    fun apply(n1: T, n2: T, n3: T): R

    operator fun invoke(t: T, u: T, z:T): R = apply(t,u,z)
}
